# coding:utf-8
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow


class Calc(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        uic.loadUi('calc.ui', self)
        self.x = None
        self.y = None
        self.result = None
        self.operator = None
        self.equal = None
        self.clear = None
        number = [self.pushButton0,
                  self.pushButton1,
                  self.pushButton2,
                  self.pushButton3,
                  self.pushButton4,
                  self.pushButton5,
                  self.pushButton6,
                  self.pushButton7,
                  self.pushButton8,
                  self.pushButton9,
                  self.pushButton_clear,
                  self.pushButton_add,
                  self.pushButton_sub,
                  self.pushButton_div,
                  self.pushButton_mul,
                  self.pushButton_dot,
                  self.pushButton_equal
                  ]
        map(lambda buts: buts.clicked.connect(self.clik_on_button), number)

    def calculate(self):
        """
          如果x,y,operater结果不为空，计算结果
        """
        if self.x and self.y and self.operator:
            self.result = str(eval('%s%s%s'%(self.x,self.operator,self.y)))
            self.text_result.setText(self.result)

    def clik_on_button(self):
        print self.sender().text()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    calc = Calc()
    calc.show()
    calc.x = '25'
    calc.y = '2'
    calc.operator = '/'
    calc.calculate()
    app.exec_()
